package stage3;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class check7 {
//    编写一个程序，对用户输入的任意一组单个的数字字符如{3，1，4，7，2，1，1，2，2}，输出其中出现次数最多的字符，
//    并显示其出现次数。如果有多个字符出现次数均为最大且相等，则输出最先出现的那个字符和它出现的次数。
//    例如，上面输入的字符集合中，“1”和“2”都出现了3次，均为最大出现次数，因为“1”先出现，则输出字符“1”和它出现的次数3次。
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一段数字，数字与数字之间以逗号区分");
        String nums = sc.nextLine();
        Map<Character,Integer> countMap = new HashMap<Character,Integer>();
        for (int i=0;i<nums.length();i++){
            if(countMap.containsKey(nums.charAt(i))){
                //存在,不存，取出值+1
                int count=countMap.get(nums.charAt(i));//取值
                int newCount = count+1;//+1
                countMap.put(nums.charAt(i),newCount);//存值
            }else {
                //不存在，将字符存进map中，并且值为1
                countMap.put(nums.charAt(i),1);
            }
        }
        countMap.remove(',');
        //所有数据，包括次数都以存放在map中，获取次数最多的key
        Character max = '1';
        int count = 0;
        for (Map.Entry<Character,Integer>entry:countMap.entrySet()){
            if (entry.getValue()>count){
                max = entry.getKey();
                count = entry.getValue();
            }
            //System.out.println("字符为"+entry.getKey()+"次数为"+entry.getValue());
        }
        System.out.println("字符最多次："+max+"出现最多次数："+count);
    }
}
